home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / RCS / recovBox.h,v < prev    next >
Encoding:
Text File  |  1992-09-21  |  17.2 KB  |  670 lines

  1. head     1.13;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.13
  10. date     92.09.21.11.55.42;  author mgbaker;  state Exp;
  11. branches ;
  12. next     1.12;
  13.  
  14. 1.12
  15. date     92.04.12.16.42.51;  author mgbaker;  state Exp;
  16. branches ;
  17. next     1.11;
  18.  
  19. 1.11
  20. date     92.04.10.19.03.39;  author mgbaker;  state Exp;
  21. branches ;
  22. next     1.10;
  23.  
  24. 1.10
  25. date     92.04.10.10.58.44;  author mgbaker;  state Exp;
  26. branches ;
  27. next     1.9;
  28.  
  29. 1.9
  30. date     92.04.08.18.40.06;  author mgbaker;  state Exp;
  31. branches ;
  32. next     1.8;
  33.  
  34. 1.8
  35. date     92.04.07.23.46.12;  author mgbaker;  state Exp;
  36. branches ;
  37. next     1.7;
  38.  
  39. 1.7
  40. date     92.04.07.22.37.35;  author mgbaker;  state Exp;
  41. branches ;
  42. next     1.6;
  43.  
  44. 1.6
  45. date     92.04.07.17.39.45;  author mgbaker;  state Exp;
  46. branches ;
  47. next     1.5;
  48.  
  49. 1.5
  50. date     92.04.07.17.36.11;  author mgbaker;  state Exp;
  51. branches ;
  52. next     1.4;
  53.  
  54. 1.4
  55. date     92.01.07.17.44.44;  author mgbaker;  state Exp;
  56. branches ;
  57. next     1.3;
  58.  
  59. 1.3
  60. date     92.01.07.16.31.24;  author mgbaker;  state Exp;
  61. branches ;
  62. next     1.2;
  63.  
  64. 1.2
  65. date     91.09.24.12.51.39;  author mgbaker;  state Exp;
  66. branches ;
  67. next     1.1;
  68.  
  69. 1.1
  70. date     91.08.21.15.35.14;  author mgbaker;  state Exp;
  71. branches ;
  72. next     ;
  73.  
  74.  
  75. desc
  76. @Temporary file - this is the user's Sys_StatsStub interface.  This will
  77. go away when there's a proper syscall interface.
  78. @
  79.  
  80.  
  81. 1.13
  82. log
  83. @Comment.
  84. @
  85. text
  86. @/*
  87.  * recovBox.h --
  88.  *
  89.  *    External definitions needed by users of the fast recovery mechanism.
  90.  *
  91.  * Copyright (C) 1985 Regents of the University of California
  92.  * All rights reserved.
  93.  *
  94.  *
  95.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.12 92/04/12 16:42:51 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  96.  */
  97.  
  98. #include <sysStats.h>
  99.  
  100. #ifndef _RECOV_BOX
  101. #define _RECOV_BOX
  102.  
  103. /*
  104.  * Parameters to Sys_StatsStub interface (should turn into system call
  105.  * interface!!!!) to the recovery box.  Only values from 0 to 99 may be
  106.  * used by the recovery box and associated functions.  The higher numbers
  107.  * are used in the kernel recovery module and defined in recov.h.
  108.  */
  109.  
  110. #define    RECOV_INIT_OBJ_TYPE        0
  111. #define    RECOV_INSERT_OBJ        1
  112. #define    RECOV_INSERT_ARRAY        2
  113. #define    RECOV_DELETE_OBJ        3
  114. #define    RECOV_UPDATE_OBJ        4
  115. #define    RECOV_RETURN_OBJ        5
  116. #define    RECOV_RETURN_ARRAY        6
  117. #define    RECOV_RETURN_CONTENTS        7
  118. #define    RECOV_GET_OBJECT_SIZE        8
  119. #define RECOV_MAP_TYPE            9
  120. #define RECOV_MAP_OBJ_NUM        10
  121. #define RECOV_TEST_ADD_DELETE        11
  122. #define RECOV_PRINT_REBOOT_TIMES    12
  123. #define RECOV_PRINT_SIZE        13
  124. #define RECOV_TOGGLE_CHECKSUM        14
  125. #define RECOV_TEST_ADD            15
  126.  
  127. /*
  128.  * For testing and timings.  Used with RECOV_TEST_ADD_DELETE test.
  129.  */
  130. typedef struct Recov_Timings {
  131.     int        iterations;
  132.     int        numHandles;
  133. } Recov_Timings;
  134.  
  135. /*
  136.  * An object's ID consists of its type number followed by its ID for that type.
  137.  */
  138. typedef    struct    Recov_ObjectID {
  139.     int        typeID;
  140.     int        objectNumber;
  141. } Recov_ObjectID;
  142.  
  143. /*
  144.  * There is one entry in the table of contents for each object type.  Each
  145.  * entry states the size of the objects for that type, the maximum possible
  146.  * number of objects for that type, and the current number for that type.
  147.  * The index in the table of contents of this entry gives the number of the
  148.  * object type.  There is also a field called "applicationTypeID" used by
  149.  * applications to access this type across crashes without needing to know
  150.  * the order in which types were allocated.  The application can hard-code
  151.  * this number and use it to get the kernel's typeID for this type upon
  152.  * restart.
  153.  */
  154. typedef struct    Recov_ContentsEntry {
  155.     int            objectSize;        /* Size of these objects. */
  156.     int            applicationTypeID;    /* Used by application. */
  157.     int            maxNumObjects;        /* Max num of these objects. */
  158.     int            currentNum;        /* Current num allocated. */
  159.     int            firstFree;        /* First index free list. */
  160. } Recov_ContentsEntry;
  161.  
  162. /*
  163.  **************************************************************************
  164.  * The following structures are all arguments to the interface to maniuplate
  165.  * objects in the recovery box.
  166.  **************************************************************************
  167.  */
  168.  
  169. /*
  170.  * Information necessary to create a new object type.  All the objects will
  171.  * be of the same size, and you must specify the maximum number that will
  172.  * ever exist at once.  The applicationTypeID, described above, is passed
  173.  * in via this structure.
  174.  */
  175. typedef struct Recov_InitObjTypeArgs {
  176.     int                 objectSize;    /* Size of new objects. */
  177.     int                 maxNumObjects;    /* Maximum number of objects allowed. */
  178.     int                 objectType;     /* Out field. */
  179.     int            applicationTypeID;    /* Application's ID to map to
  180.                          * to this type. Can be unset
  181.                          * (<= 0) or set (> 0).  If set,
  182.                          * an error will be  returned
  183.                          * if it's not unique. */
  184.     int            doChecksum;    /* If 1, do checksum.  If 0, don't. */
  185. } Recov_InitObjTypeArgs;
  186.  
  187. /*
  188.  * Information necessary to insert a new object.  The field "objectPtr"
  189.  * points to contents of the new object to insert.
  190.  */
  191. typedef struct Recov_InsertObjArgs {
  192.     int                 typeID;        /* Type number of this object. */
  193.     Address             objectPtr;    /* In field: Ptr to object to insert. */
  194.     Recov_ObjectID      objectID;       /* Out field: new object's ID. */
  195.     int            applicationObjectNum;
  196.                     /* In field: Num that application
  197.                      * can use to get real objectID.
  198.                      * This is so that different
  199.                      * applications can point at
  200.                      * the same object without knowing the
  201.                      * order of inserts, etc.  Also, the
  202.                      * application can guarantee the
  203.                      * uniqueness of the number.  Can be
  204.                      * unset (<= 0) or set (>0).  If set,
  205.                      * an error will be returned if there's
  206.                      * already an object of the same type
  207.                      * with this object ID.  */
  208. } Recov_InsertObjArgs;
  209.  
  210. /*
  211.  * Information necessary to insert a set of new objects.  This is a way
  212.  * of inserting more than one object at a time without interference from
  213.  * other processes doing similar object inserts.  If the routine returns
  214.  * with SUCCESS, then all the objects were inserted.  If it returns FAILURE,
  215.  * then no objects were inserted.  If it panics, the results are undefined.
  216.  */
  217. typedef struct Recov_InsertArrayArgs {
  218.     int                 typeID;        /* Type number of this object. */
  219.     int            numObjs;    /* Number of objects to insert. */
  220.     char        *obuffer;    /* In field: objects to insert. */
  221.     int            *applObjNums;    /* In field: array of application's
  222.                      * object numbers for objects.  May
  223.                      * be NIL. */
  224.     Recov_ObjectID    *objIDBuffer;    /* Out field: array of new objects'
  225.                      * object IDs. */
  226. } Recov_InsertArrayArgs;
  227.  
  228. /*
  229.  * Information necessary to delete an object.
  230.  */
  231. typedef struct Recov_DeleteObjArgs {
  232.     Recov_ObjectID      objectID;     /* ID of the object to delete. */
  233. } Recov_DeleteObjArgs;
  234.  
  235. /*
  236.  * Information necessary to update an object.  The field "objectPtr" points
  237.  * to the new version of the object.
  238.  */
  239. typedef struct Recov_UpdateObjArgs {
  240.     Address             objectPtr;    /* In field: Ptr to object to insert. */
  241.     Recov_ObjectID      objectID;    /* ID of the object to update. */
  242. } Recov_UpdateObjArgs;
  243.  
  244. /*
  245.  * Information necessary to return an object.  The field "objectPtr" must
  246.  * point to allocated memory of at least the size of this type of object.
  247.  */
  248. typedef struct Recov_ReturnObjArgs {
  249.     Address             objectPtr;    /* Out: Buffer for returning object. */
  250.     Recov_ObjectID      objectID;    /* ID of the object to delete. */
  251. } Recov_ReturnObjArgs;
  252.  
  253. /*
  254.  * Information necessary to return all the objects of a given type.
  255.  * There are 2 buffers returned:  the first is the array of objects of the
  256.  * given type, and the second is an array giving the ID's of the objects
  257.  * of the corresponding index in the first buffer.
  258.  * The "length" fields specify the current allocated lengths of the
  259.  * return buffers.  Upon successful return, the "length" fields will
  260.  * specify how much of each buffer was used.  Upon failure, the length 
  261.  * fields will specify the needed space for the buffers if the reason for
  262.  * failure was that they weren't large enough.
  263.  */
  264. typedef    struct Recov_ReturnArrayArgs {
  265.     int            typeID;        /* Type number of objects to return. */ 
  266.     int            olength;    /* In/out field for buffer length. */
  267.     char        *obuffer;    /* Out field for object array. */
  268.     int            ilength;    /* In/out field for id buffer length. */
  269.     char        *ibuffer;    /* Out field for object id array. */
  270.     int            alength;    /* In/out field for appl. obj. nums. */
  271.     char        *abuffer;    /* Out field for appl. obj. numbers. */
  272. } Recov_ReturnArrayArgs;
  273.  
  274. /*
  275.  * Information necessary to return the table of contents for the recovery box.
  276.  * The field "length" specifies the current allocated length of the
  277.  * return buffer.  Upon successful return, the "length" field will
  278.  * specify how much of that buffer was used.  Upon failure, the length 
  279.  * field will specify the needed space for the buffer if the reason for
  280.  * failure was that it wasn't large enough.
  281.  */
  282. typedef struct Recov_ReturnTableArgs {
  283.     int            length;        /* In/out field for buffer length. */
  284.     char        *buffer;    /* Out field for contents buffer. */
  285. } Recov_ReturnTableArgs;
  286.  
  287. /*
  288.  * Information necessary to return the size of a given type of object in
  289.  * the box.
  290.  */
  291. typedef    struct Recov_GetObjectSizeArgs {
  292.     int            typeID;        /* In field to give object type. */
  293.     int            objectSize;    /* Out field to return size. */
  294. } Recov_GetObjectSizeArgs;
  295.  
  296. /*
  297.  * Information necessary to map the application's type ID to the real type
  298.  * ID used by the recovery box.
  299.  */
  300. typedef    struct Recov_MapTypeArgs {
  301.     int            applicationTypeID;    /* In field: object type. */
  302.     int            typeID;            /* Out field: real type. */
  303. } Recov_MapTypeArgs;
  304.  
  305. /*
  306.  * Information necessary to map the application's object number to the real
  307.  * object number used by the recovery box.
  308.  */
  309. typedef    struct Recov_MapObjectNumArgs {
  310.     int            realTypeID;    /* In: recov box's type for object */
  311.     int            applicationObjectNum;    /* In: Obj numD to map from. */
  312.     int            realObjectNum;        /* Out field: real obj num. */
  313. } Recov_MapObjectNumArgs;
  314.  
  315.  
  316. /*
  317.  * Defines to make the system call interface look like a library interface,
  318.  * since the sys call interface uses the gross Sys_Stats stuff.
  319.  */
  320. #define    RecovBox_InitObjType(/* (Recov_InitObjTypeArgs *) */ initArgsPtr) \
  321.     Sys_Stats(SYS_RECOV_BOX, RECOV_INIT_OBJ_TYPE, (Address) initArgsPtr)
  322.  
  323. #define    RecovBox_InsertObj(/* (Recov_InsertObjArgs *) */ insertArgsPtr)    \
  324.     Sys_Stats(SYS_RECOV_BOX, RECOV_INSERT_OBJ, (Address) insertArgsPtr)
  325.  
  326. #define    RecovBox_InsertArray(/* (Recov_InsertObjArgs *) */ insertArrayArgsPtr)\
  327.     Sys_Stats(SYS_RECOV_BOX, RECOV_INSERT_ARRAY, (Address) insertArrayArgsPtr)
  328.  
  329. #define    RecovBox_DeleteObj(/* (Recov_DeleteObjArgs *) */ deleteArgsPtr)    \
  330.     Sys_Stats(SYS_RECOV_BOX, RECOV_DELETE_OBJ, (Address) deleteArgsPtr)
  331.  
  332. #define    RecovBox_UpdateObj(/* (Recov_UpdateObjArgs *) */ updateArgsPtr)    \
  333.     Sys_Stats(SYS_RECOV_BOX, RECOV_UPDATE_OBJ, (Address) updateArgsPtr)
  334.  
  335. #define    RecovBox_ReturnObj(/* (Recov_ReturnObjArgs *) */ returnObjArgsPtr) \
  336.     Sys_Stats(SYS_RECOV_BOX, RECOV_RETURN_OBJ, (Address) returnObjArgsPtr)
  337.  
  338. #define    RecovBox_ReturnArray(/* (Recov_ReturnArrayArgs *) */returnArrayArgsPtr)\
  339.     Sys_Stats(SYS_RECOV_BOX, RECOV_RETURN_ARRAY, (Address) returnArrayArgsPtr)
  340.  
  341. #define    RecovBox_ReturnContents(/* (Recov_ReturnTableArgs *) */ \
  342.     returnContentsArgsPtr)\
  343.     Sys_Stats(SYS_RECOV_BOX, RECOV_RETURN_CONTENTS,    \
  344.     (Address) returnContentsArgsPtr)
  345.  
  346. #define RecovBox_GetObjectSize(/* (Recov_GetObjectSizeArgs *) */ \
  347.     getObjectSizeArgsPtr) \
  348.     Sys_Stats(SYS_RECOV_BOX, RECOV_GET_OBJECT_SIZE, \
  349.     (Address) getObjectSizeArgsPtr)
  350.  
  351. #define RecovBox_MapType(/*(Recov_MapTypeArgs *)*/ mapTypeArgsPtr) \
  352.     Sys_Stats(SYS_RECOV_BOX, RECOV_MAP_TYPE, (Address) mapTypeArgsPtr)
  353.  
  354. #define RecovBox_MapObjectNum(/*(Recov_MapObjectNumArgs *)*/ \
  355.     mapObjectNumArgsPtr) \
  356.     Sys_Stats(SYS_RECOV_BOX, RECOV_MAP_OBJ_NUM, (Address) mapObjectNumArgsPtr)
  357.  
  358.  
  359. #endif /* _RECOV_BOX */
  360. @
  361.  
  362.  
  363. 1.12
  364. log
  365. @*** empty log message ***
  366. @
  367. text
  368. @d10 1
  369. a10 1
  370.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.11 92/04/10 19:03:39 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  371. d20 3
  372. a22 1
  373.  * interface!!!!) to the recovery box.
  374. @
  375.  
  376.  
  377. 1.11
  378. log
  379. @*** empty log message ***
  380. @
  381. text
  382. @d10 1
  383. a10 1
  384.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.10 92/04/10 10:58:44 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  385. d97 1
  386. @
  387.  
  388.  
  389. 1.10
  390. log
  391. @*** empty log message ***
  392. @
  393. text
  394. @d10 1
  395. a10 1
  396.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.9 92/04/08 18:40:06 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  397. d38 1
  398. @
  399.  
  400.  
  401. 1.9
  402. log
  403. @*** empty log message ***
  404. @
  405. text
  406. @d10 1
  407. a10 1
  408.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.8 92/04/07 23:46:12 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  409. a54 4
  410. #define    KEEP_FREE_INDICES    128    /* Indices into buffer of free objs.
  411.                      * Make this a multiple of ints in
  412.                      * size. */
  413.  
  414. d71 1
  415. a71 4
  416.     unsigned short    firstIndex;        /* First index in free objs. */
  417.     unsigned short    lastIndex;        /* Last index in free objs. */
  418.     unsigned char    freeObjs[KEEP_FREE_INDICES];
  419.                         /* Last index in free objs. */
  420. @
  421.  
  422.  
  423. 1.8
  424. log
  425. @*** empty log message ***
  426. @
  427. text
  428. @d10 1
  429. a10 1
  430.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.7 92/04/07 22:37:35 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  431. d55 4
  432. d75 4
  433. @
  434.  
  435.  
  436. 1.7
  437. log
  438. @*** empty log message ***
  439. @
  440. text
  441. @d10 1
  442. a10 1
  443.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.6 92/04/07 17:39:45 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  444. d37 1
  445. @
  446.  
  447.  
  448. 1.6
  449. log
  450. @More stuff.
  451. @
  452. text
  453. @d10 1
  454. a10 1
  455.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.5 92/04/07 17:36:11 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  456. d37 8
  457. @
  458.  
  459.  
  460. 1.5
  461. log
  462. @Before more stuff for testing and timing.
  463. @
  464. text
  465. @d10 1
  466. a10 1
  467.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.4 92/01/07 17:44:44 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  468. d23 14
  469. a36 12
  470. #define    RECOV_INIT_OBJ_TYPE    0
  471. #define    RECOV_INSERT_OBJ    1
  472. #define    RECOV_INSERT_ARRAY    2
  473. #define    RECOV_DELETE_OBJ    3
  474. #define    RECOV_UPDATE_OBJ    4
  475. #define    RECOV_RETURN_OBJ    5
  476. #define    RECOV_RETURN_ARRAY    6
  477. #define    RECOV_RETURN_CONTENTS    7
  478. #define    RECOV_GET_OBJECT_SIZE    8
  479. #define RECOV_MAP_TYPE        9
  480. #define RECOV_MAP_OBJ_NUM    10
  481. #define RECOV_TEST        11
  482. @
  483.  
  484.  
  485. 1.4
  486. log
  487. @Better comments.
  488. @
  489. text
  490. @d10 1
  491. a10 1
  492.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.3 92/01/07 16:31:24 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  493. d25 10
  494. a34 5
  495. #define    RECOV_DELETE_OBJ    2
  496. #define    RECOV_UPDATE_OBJ    3
  497. #define    RECOV_RETURN_OBJ    4
  498. #define    RECOV_RETURN_ARRAY    5
  499. #define    RECOV_RETURN_CONTENTS    6
  500. d49 5
  501. a53 1
  502.  * object type.
  503. d56 4
  504. a59 3
  505.     int            objectSize;
  506.     int            numObjects;
  507.     int            currentNum;
  508. d72 2
  509. a73 1
  510.  * ever exist at once.
  511. d75 1
  512. a75 1
  513. typedef struct Recov_InitObjType {
  514. d77 1
  515. a77 1
  516.     int                 numObjects;    /* Maximum number of objects allowed. */
  517. d79 6
  518. a84 1
  519. } Recov_InitObjType;
  520. d90 1
  521. a90 2
  522. typedef struct Recov_InsertObj {
  523.     int            objectSize;    /* Size of the object. */
  524. d94 32
  525. a125 1
  526. } Recov_InsertObj;
  527. d130 1
  528. a130 1
  529. typedef struct Recov_DeleteObj {
  530. d132 1
  531. a132 1
  532. } Recov_DeleteObj;
  533. d138 1
  534. a138 2
  535. typedef struct Recov_UpdateObj {
  536.     int            objectSize;    /* Size of the object to update. */
  537. d141 1
  538. a141 1
  539. } Recov_UpdateObj;
  540. d145 1
  541. a145 1
  542.  * point to allocated memory of at least "objectSize" bytes.
  543. d147 1
  544. a147 2
  545. typedef struct Recov_ReturnObj {
  546.     int            objectSize;    /* Size of the object to return. */
  547. d150 1
  548. a150 1
  549. } Recov_ReturnObj;
  550. d163 1
  551. a163 1
  552. typedef    struct Recov_ReturnArray {
  553. d169 3
  554. a171 1
  555. } Recov_ReturnArray;
  556. d181 1
  557. a181 1
  558. typedef struct Recov_ReturnTable {
  559. d184 30
  560. a213 1
  561. } Recov_ReturnTable;
  562. d219 1
  563. a219 1
  564. #define    Recov_InitObjType(/* (Recov_InitObjType *) */ initArgsPtr)    \
  565. d222 1
  566. a222 1
  567. #define    Recov_InsertObj(/* (Recov_InsertObj *) */ insertArgsPtr)    \
  568. d225 4
  569. a228 1
  570. #define    Recov_DeleteObj(/* (Recov_DeleteObj *) */ deleteArgsPtr)    \
  571. d231 1
  572. a231 1
  573. #define    Recov_UpdateObj(/* (Recov_UpdateObj *) */ updateArgsPtr)    \
  574. d234 1
  575. a234 1
  576. #define    Recov_ReturnObj(/* (Recov_ReturnObj *) */ returnObjArgsPtr)    \
  577. d237 1
  578. a237 1
  579. #define    Recov_ReturnArray(/* (Recov_ReturnArray *) */returnArrayArgsPtr) \
  580. d240 2
  581. a241 1
  582. #define    Recov_ReturnContents(/* (Recov_ReturnTable *) */ returnContentsArgsPtr)\
  583. d244 12
  584. @
  585.  
  586.  
  587. 1.3
  588. log
  589. @Added library-like interface.
  590. @
  591. text
  592. @d10 1
  593. a10 1
  594.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.2 91/09/24 12:51:39 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  595. d31 3
  596. d39 7
  597. d52 12
  598. d65 2
  599. a66 2
  600.     int                 objectSize;
  601.     int                 numObjects;
  602. d70 4
  603. d75 2
  604. a76 2
  605.     int            objectSize;
  606.     int                 typeID;
  607. d78 1
  608. a78 1
  609.     Recov_ObjectID      objectID;       /* Out field. */
  610. d81 3
  611. d85 1
  612. a85 1
  613.     Recov_ObjectID      objectID; 
  614. d88 4
  615. d93 1
  616. a93 1
  617.     int            objectSize;
  618. d95 1
  619. a95 1
  620.     Recov_ObjectID      objectID;
  621. d98 4
  622. d103 3
  623. a105 3
  624.     int            objectSize;
  625.     Address             objectPtr;    /* Out: Ptr to object to fill in. */
  626.     Recov_ObjectID      objectID;
  627. d108 11
  628. d120 1
  629. a120 1
  630.     int            typeID;
  631. d127 8
  632. @
  633.  
  634.  
  635. 1.2
  636. log
  637. @More definitions and stuff.
  638. @
  639. text
  640. @d10 1
  641. a10 1
  642.  * $Header: /sprite/src/lib/include/RCS/recovBox.h,v 1.1 91/08/21 15:35:14 mgbaker Exp Locker: mgbaker $ SPRITE (Berkeley)
  643. d13 2
  644. d83 27
  645. @
  646.  
  647.  
  648. 1.1
  649. log
  650. @Initial revision
  651. @
  652. text
  653. @d10 1
  654. a10 1
  655.  * $Header: /sprite/src/kernel/cvsroot/kernel/recov/recov.h,v 9.15 90/11/29 23:04:05 kupfer Exp $ SPRITE (Berkeley)
  656. d25 3
  657. d34 6
  658. d43 1
  659. a43 1
  660.     int                 objectType;     /* In/out field. */
  661. d49 2
  662. a50 2
  663.     Address             objectPtr;
  664.     Recov_ObjectID      objectID;       /* In/out field. */
  665. d59 1
  666. a59 1
  667.     Address             objectPtr;
  668. d62 19
  669. @
  670.